GCC = g++ -Wall -W -O
all: Interpreteur

ObjInterpreteur = LecteurCaractere.o Symbole.o LecteurSymbole.o  NoeudVisitor.o  SymboleValue.o TableSymboles.o Arbre.o  LecteurPhraseAvecArbre.o Interpreteur.o

LecteurCaractere.o: LecteurCaractere.cc LecteurCaractere.h
	$(GCC) -c LecteurCaractere.cc

Symbole.o: Symbole.cc Symbole.h
	$(GCC) -c Symbole.cc

LecteurSymbole.o: LecteurSymbole.cc LecteurSymbole.h Symbole.h LecteurCaractere.h Valeur.h
	$(GCC) -c LecteurSymbole.cc

NoeudVisitor.o: NoeudVisitor.cc NoeudVisitor.h Valeur.h
	$(GCC) -c NoeudVisitor.cc

SymboleValue.o: SymboleValue.cc SymboleValue.h Symbole.h NoeudVisitor.h Valeur.h
	$(GCC) -c SymboleValue.cc

TableSymboles.o: TableSymboles.cc TableSymboles.h SymboleValue.h 
	$(GCC) -c TableSymboles.cc

Arbre.o: Arbre.h Arbre.cc Symbole.h SymboleValue.h NoeudVisitor.h Valeur.h
	$(GCC) -c Arbre.cc

LecteurPhraseAvecArbre.o: LecteurPhraseAvecArbre.cc LecteurPhraseAvecArbre.h Symbole.h LecteurSymbole.h TableSymboles.h Arbre.h
	$(GCC) -c LecteurPhraseAvecArbre.cc


Interpreteur.o: Interpreteur.cc LecteurPhraseAvecArbre.h NoeudVisitor.h Arbre.h
	$(GCC) -c Interpreteur.cc
	
Interpreteur: $(ObjInterpreteur)
	$(GCC) -o Interpreteur $(ObjInterpreteur)
	